package com.blrs.service.file;

import java.util.List;
import java.util.Map;

import com.blrs.domain.FileCabinetInformation;
import com.blrs.domain.FileChangeRecord;
import com.blrs.domain.InternalDocument;

/**
 * 内部文件Service接口
 * 
 * @author ruoyi
 * @date 2023-11-01
 */
public interface IInternalDocumentService 
{

    public List<FileCabinetInformation> selectFileCabinetInformationListFileTree(FileCabinetInformation fileCabinetInformation);
    public List<Map> getFileTree(FileCabinetInformation fileCabinetInformation);
    /**
     * 查询内部文件
     * 
     * @param internalId 内部文件主键
     * @return 内部文件
     */
    public InternalDocument selectInternalDocumentByInternalId(String internalId);

    /**
     * 查询内部文件列表
     * 
     * @param internalDocument 内部文件
     * @return 内部文件集合
     */
    public List<InternalDocument> selectInternalDocumentList(InternalDocument internalDocument);
    public List<InternalDocument> selectInternalDocumentListByAdmin(InternalDocument internalDocument);

    /**
     * 新增内部文件
     * 
     * @param internalDocument 内部文件
     * @return 结果
     */
    public int insertInternalDocument(InternalDocument internalDocument);

    /**
     * 修改内部文件
     * 
     * @param internalDocument 内部文件
     * @return 结果
     */
    public int updateInternalDocument(InternalDocument internalDocument) throws NoSuchFieldException, IllegalAccessException;

    /**
     * 批量删除内部文件
     * 
     * @param internalIds 需要删除的内部文件主键集合
     * @return 结果
     */
    public int deleteInternalDocumentByInternalIds(String[] internalIds);

    /**
     * 删除内部文件信息
     * 
     * @param internalId 内部文件主键
     * @return 结果
     */
    public int deleteInternalDocumentByInternalId(String internalId);
}
